#include <eosio/eosio.hpp>
using namespace eosio;

CONTRACT action_wrapper_contract : public contract {
	public:
	using contract::contract;

	ACTION hi(eosio::name user){
		eosio::print("hi " + user.to_string());
	}

	using hi_action = eosio::action_wrapper<eosio::name("hi"), &action_wrapper_contract::hi>;

	ACTION sayhi(eosio::name user){
		hi_action act{get_self(), {user, eosio::name("active")}};
		act.send(user);
		eosio::print("action_wrapper");
	}
};
